Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
cómo corregir "FirebaseError: el tipo no coincide con la instancia esperada". en la transacción de base de fuego. Reaccionar.js

en mi sitio, cuando se elimina una sección, quiero que se eliminen todos los elementos de esa sección, por lo que estoy usando una transacción

 const sectionRef = db .collection('items') .where('subSection', '==', sectionName); db.runTransaction((transaction) => { return transaction .get(sectionRef) .then((data) => { data.docs.map((doc) => { transaction.delete(doc); }); }) .catch((e) => { console.log('transaction failed', e); }); }); };

Estoy teniendo el siguiente error

(FirebaseError): el tipo no coincide con la instancia esperada. ¿Pasaste una referencia de un SDK de Firestore diferente?

aquí está la configuración de base de fuego

 firebaseConfig = { apiKey: process.env.REACT_APP_PROD_API_KEY, authDomain: process.env.REACT_APP_PROD_AUTH_DOMAIN, projectId: process.env.REACT_APP_PROD_PROJECT_ID, storageBucket: process.env.REACT_APP_PROD_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_PROD_MESSAGING_SENDER_ID, appId: process.env.REACT_APP_PROD_APP_ID, measurementId: process.env.REACT_APP_PROD_MEASUREMENT_ID, }; const firebaseApp = firebase.initializeApp(firebaseConfig); const db = firebaseApp.firestore();

¿alguien puede ver el problema?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Con JS SDK (y los otros SDK de cliente: iOS, Android, C++) no puede obtener los documentos de una colección (o de una consulta) en una Transacción .

Como verá en el documento, debe pasar una DocumentReference al método get() (de una Transacción).

Puede llamar a este método get() varias veces en la transacción, pero no puede pasarle una CollectionReference .


Por otro lado, esto es posible a través de los SDK de administración (es decir, las bibliotecas del servidor ). Por ejemplo, con el de Node.js, consulte el documento para el método get() .

Puede obtener más detalles sobre la diferencia entre estos SDK y sus motivos en este elemento de documentación .


Por lo tanto, dado que utiliza una consulta, significa que ahora no indica por adelantado (es decir, al codificar) la lista de documentos para leer en la Transacción. Por lo tanto, debe usar Admin SDK, por ejemplo, en una función de nube.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!